關於Cloud Armor安全政策
- 首先也許從字面上或許不好意會什麼是Cloud Armor呢?其實他就是一個防禦外部攻擊的服務,主要的目的是保護您的Web應用,或許可以簡單的理解成常聽到的防火牆規則。
P.S. 設定IAM所需使用角色(roles/compute.securityAdmin)
- Cloud Armor保護的目標是 負載平衡器 預防DDoS後的Backend,也就是說他作用於服務入口Ingress的部分,用HTTPS來說,當連線進來到Cloud Armor可以做到兩件事:
- 第一匹配IP地址列表或IP地址範圍列表(CIDR)
- 第二個就比較高級了,可以根據path method headers 甚至ASN流量等等...
建立Cloud Armor
可以直接去Cloud Armor頁面,建立起一個政策,政策內可以有許多規則,此時系統默認會有Allow Deny規則,然而因為一個政策可以包含多筆規則,那我們來看看有哪些設定項目可以調整,整理一下可以歸納為有以下四個:
- 定義允許或拒絕IP規則,定義規則運算式語法
- 新增需要作用負載平衡目標 (只能使用非CDN HTTP(S)負載平衡器後端服務來當做目標)
- 規則權限高低(同GCP防火牆規則數字越低權限越高)
- 最後是若是Allow Deny導向的回應(ex. 403)
規則運算式語法(可用&& ||運算邏輯設置)
舉幾個例子:
origin.region_code == 'US' && !inIpRange(origin.ip, '1.2.3.0/24')
request.path.matches('/bad_path/') || has(request.headers['user-agent'])
- 緩解跨站腳本攻擊(XSS)&緩解SQL 注入(SQLi) 攻擊
evaluatePreconfiguredExpr('xss-stable') && evaluatePreconfiguredExpr('sqli-stable')